Security Type Systems as Recursive Predicates

نویسنده

  • Andrei Popescu
چکیده

We show how security type systems from the literature of languagebased noninterference can be represented more directly as predicates defined by structural recursion on the programs. In this context, we show how our uniform syntactic criteria from [7,8] cover several previous type-system soundness results. 1 Security type systems As in Example 2 from [7, 8], we assume that atomic statements and tests are built by means of expressions applied to variables taken from a set var, ranged over by x,y,z. Thus, exp, ranged over by e, is the set of arithmetic expressions (e.g., x+ 1, x ∗ y+ 5). Then atomic commands atm∈ atom are assignment statements x := e and tests tst ∈ test are Boolean expressions built from exp (e.g., x > 0, x+ 1 = y+ z). For any expression e and test tst, Vars e and Vars tst denote their sets of variables. States are assignments of integers to variables, i.e., the set state is var → int. Variables are classified as either low (lo) or high (hi) by a fixed security level function sec : var →{lo,hi}. We let L be the lattice {lo,hi}, where lo < hi.1 We shall use the standard infima and suprema notations for L. Then ∼ is defined as follows: s ∼ t ≡ ∀x ∈ var. sec x = lo =⇒ s x = t x. We shall look into type systems from the literature, ::, assigning security levels l ∈ {lo,hi}, or pairs of security levels, to expressions and commands. All have in common the following: Typing of expressions: e :: lo if ∀x ∈ Vars e. sec x = lo e :: hi always Typing of tests (similar): tst :: lo if ∀x ∈ Vars tst. sec x = lo tst :: hi always The various type systems shall differ in the typing of commands. But first let us look more closely at their aforementioned common part. We note that, if an expression or a test has type l and l ≤ k, then it also has type k. In other words, the following covariant subtyping rules for tests and expressions hold: ⋆ This work was supported by the DFG project Ni 491/13–2, part of the DFG priority program Reliably Secure Software Systems (RS3). 1 One can also consider the more general case of multilevel security, via an unspecified lattice of security levels L—however, this brings neither much additional difficulty, nor much additional insight, so here focus on this 2-level lattice. e :: l l ≤ k e :: k (SUBTYPE-EXP) tst :: l l ≤ k tst :: k (SUBTYPE-TST) Thus, the typing of an expression or test is uniquely determined by its minimal type, defined as follows:

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Type-Based Methods for Termination and Productivity in Coq

Coq is a total dependently-typed programming language: recursive functions must be terminating and co-recursive functions must be productive. The requirement of totality is essential to ensure logical consistency, since a non-terminating function can be easily used to encode a proof of falsity. Systems based on dependent type theories, such as Coq and Agda, typically use syntactic methods, call...

متن کامل

Breaking the Loop: Recursive Proofs for Coinductive Predicates in Fibrations

The purpose of this paper is to develop and study recursive proofs of coinductive predicates. Such recursive proofs allow one to discover proof goals in the construction of a proof of a coinductive predicate, while still allowing the use of up-to techniques. This approach lifts the burden to guess invariants, like bisimulation relations, beforehand. Rather, they allow one to start with the soug...

متن کامل

Well-Founded Sized Types in the Calculus of (Co)Inductive Constructions

Type-based termination is a mechanism for ensuring termination and productivity of (co)recursive definitions [4]. Its main feature is the use of sized types (i.e. types annotated with size information) to track the size of arguments in (co)recursive calls. Termination of recursive function (and productivity of corecursive functions) is ensured by restricting recursive calls to smaller arguments...

متن کامل

An Intensional Type Theory: Motivation and Cut-Elimination

By the theory TT is meant the higher order predicate logic with the following recursively defined types: (1) 1 is the type of individuals and [] is the type of the truth values; (2) [τ1, . . . , τn] is the type of the predicates with arguments of the types τ1, . . . , τn. The theory ITT described in this paper is an intensional version of TT. The types of ITT are the same as the types of TT, bu...

متن کامل

SecPAL: Design and semantics of a decentralized authorization language

We present a declarative authorization language. Policies and credentials are expressed using predicates defined by logical clauses, in the style of constraint logic programming. Access requests are mapped to logical authorization queries, consisting of predicates and constraints combined by conjunctions, disjunctions, and negations. Access is granted if the query succeeds against the current d...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1308.3472  شماره 

صفحات  -

تاریخ انتشار 2013